データベース管理において、正しい論理結果を得ることは目標の半分に過ぎません。 クエリパフォーマンス を理解することで、データベースがシステムリソースを無駄にすることなく、その結果を効率的に計算できるようになります。クエリは要求されたデータを正確に返せても、内部では非効率的に実行されている場合があります。
学習目標と背景
講義11 — 正しい答え、ひどいクエリ:動作するSQLを書くだけでは不十分であり、データベース開発者はクエリオプティマイザが内部でどのように操作を実行するかを理解する必要があることを強調しています。
核となる概念
- 論理的正確性と実行パフォーマンス:データの返却に成功しても、効率的なリソース活用が保証されるわけではありません。機能的に同一の2つのクエリが、まったく同じ出力テーブルを生み出す一方で、CPU・メモリ・ディスクI/Oの消費量は大きく異なることがあります。
- システムスケーラビリティへの影響:最適化されていないクエリはパフォーマンスのボトルネックとなり、同時利用者の応答を遅くし、サーバー負荷を高め、データベースサイズの増大に伴ってスムーズにスケールできなくなります。
- 具体例:数百万行のテーブルから特定の顧客を検索する場合。不適切なクエリでは数秒かかるフルスキャンを強いられますが、最適化されたクエリでは数ミリ秒でレコードを取得できます。
補足ノート
講義11 — 正しい答え、ひどいクエリ:データベース開発者は実行計画を分析し、本番環境の高負荷下でもクエリが効率的にスケールすることを確認する必要があります。
